package modelo.comportamiento;

import modelo.vehiculos.Vehiculo;


public abstract class Accion {
	
	public enum Sentido { IZQUIERDA, DERECHA, NEUTRO};
	
	protected Sentido giro;
	protected Sentido desplazamientoHorizontal;
	protected double aceleracion;
	protected double velocidad;
	protected AccionRecomendada accionRecomendada;
	protected Sentido sentido;
	protected double distancia;
	
	public Accion(double velocidad, double distancia) {
		this.velocidad = velocidad;
		this.distancia = distancia;
		
	}
	public Sentido getGiro() {
		return giro;
	}
	public Sentido getDesplazamientoHorizontal() {
		return desplazamientoHorizontal;
	}
	public double getAceleracion() {
		return aceleracion;
	}
	public AccionRecomendada getAccionRecomendada() {
		return accionRecomendada;
	}
	public Sentido getSentido() {
		return sentido;
	}
	
	public double getVelocidad() {
		return velocidad;
	}
	
	public abstract void aplicar(Vehiculo vehiculo);
}
 
